几种不同的Markdown语法标准
- 原生Markdown
- GFM(Github Flavored Markdown):
- 采用围栏式(Fenced式)区块代码:在代码的上下一行用3个反引号,可选择性定义代码语种,并支持代码高亮。
- 列表嵌套方法:改为每次嵌套缩进两个空格。
- 支持任务列表:在每个列表项目加入
[ ]
,完成任务用[x]
- 支持简单表格
- PFM(Pandoc Flavored Markdown):
- 支持简单表格、多行表格、格框表格和管线表格四种表格样式
- 支持文件标题区块(类似元数据)
- 支持上标、下标
- 支持数字公式
- 支持内嵌TeX
- …
- MultiMarkdown
- 支持元数据:标题、作者、日期等信息,兼容部分YAML。
- 支持添加链接和图片的属性。
- 支持部分复杂表格:兼容PHP Markdown Extra的表格,同时可以——多行表头,单元格横向合并,表格分区,表格下行表格说明等。
- 支持脚注:同PHP Markdown Extra中的脚注。
- 支持参考文献(Citations)
- …
参考:
Markdown语法
(0)换行和转义
换行: 文字末尾两个或以上的空格.
转义: \
(1)一级/二级题目
一级题目和正文之间用”====”分开
如果是二级题目,则用“—-”分开
题目
=====
正文
(2) 标题
Atx-风格的标题在每行的开头使用1-6个#号字符,分别对应标题级别1-6
(3) 列表
无序列表可使用星号“*”、加号“+”和连字符 “-”
* Red
* Green
* Blue
有序列表用“数字. ”的方式
1. RED
2. GREEN
(4)代码块
在行内插入一句代码的话,将代码用两个包括起来即可
,这是夹杂着一些代码
的文字内容。
在每行开头,或者段落开头使用>
符号也可以引用一个段落,直到遇到空行段落结束。
如果是代码块,可以在行首增加Tab,注意除了每行开头都有Tab之外, 每行结束也要有两个及以上空格表示一行结束。 代码块在遇到没有TAB缩进的一行,或者文件末尾时自动结束。
除此之外还有使用三个”`”,或者
的方式包围代码块:
void bubble_sort(int* a, int size) |
(5)引用
只需要在行开头增加>
符号+空格即可:
这是一行引用的文字
引用结束前要有包括两个以上空格的“空行”作为引用结束的标记。
(6)强调
Markdown 使用星号(*
)和底线(_
)作为标记强调字词的符号,被 *
或 _
包围的字词会被转为粗斜体. 例如:
强调 或者 _强调_
加重强调 或者 加重强调
(7)超链接
使用 <> 包括的 URL 或邮箱地址会被自动转换为超链接,例如:[微博](http://weibo.com) 效果是这样的:
(8)图片
使用![]来放置图片, 例如:![sebug.net](http://ssvq5.sinaapp.com/sv4/img/ssv_logo_3ee2.png "sebug.net") 效果如下
Markdown历史
Markdown是一种轻量级标记语言,创始人为John Gruber。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。
自从John Gruber2004年发布Markdown之后,Markdown进入了自由生长的状态,因为创始人John Gruber打自2004年之后就没有更新过Markdown。因为原生Markdown只是一个轻量级的标记语言,很多功能不具备。为了扩充Markdown的功能,很多Markdown拓展语法被开发出来,其中著名的有GFM、PHP Markdown Extra、MultiMarkdown、Pandoc Markdown(PFM)等等:
- GFM: Github扩展的Markdown语法,这种衍生Markdown叫做Github Flavored Markdown,简称 GFM。与原生Markdown主要区别:
- 采用围栏式(Fenced式)区块代码:在代码的上下一行用3个反引号 ```,可选择性定义代码语种,并支持代码高亮;
- 列表嵌套缩进两个空格;
- 支持任务列表:
[x]
- 支持简单表格
- 删除线(新增):用两个波浪号
~~
- 删除线(新增):用两个波浪号
- MultiMarkdown: 原生markdown文档只能从纯文本转换HTML。而MultiMarkdown则是扩大了原生markdown的转换范围,让其可以方便的转换成:HTML/XHTML、LaTeX、OPML。与原生Markdown主要区别:
- 支持YAML元数据
- 支持脚注
- 支持部分复杂表格
- 支持参考文献(Citations)
- 支持栅栏式区块代码:上下行3到5个反引号包裹代码
- 支持MathJax公式(区块与行内)
- 支持上标与下标
- 支持目录:
添加目录
- Pandoc’s Markdown(PFM)
- 围栏式区块代码
- 区块引用之前一定要预留空行
- …
参考: